Appearance
《数值分析》期末试卷 (精选02)
一、 计算题
已知线性方程组为 $\left\{ \begin{array}{l}7x_1 + 10x_2 = 1\\ 5x_1 + 7x_2 = 0.7 \end{array} \right.$ (1) 试求系数矩阵 $A$ 的条件数 $\mathrm{cond}_\infty(A)$; (2) 若右端向量有扰动 $\delta b = (0.01, -0.01)^T$ , 试估计解的相对误差 $\frac{\|\delta x\|_\infty}{\|x\|_\infty}$ .
查看答案与解析
答案: (1) $\mathrm{cond}_{\infty}(A) = 289$ (2) $\frac{\|\delta x\|_\infty}{\|x\|_\infty} \leq 2.89$
思路分析
本题考查线性方程组的稳定性分析。首先需正确计算矩阵范数及其逆矩阵,进而得到条件数。最后利用条件数与相对误差的数学关系进行估计。
详细推导:
- 求系数矩阵 $A$ 及其范数: $A = \begin{pmatrix} 7 & 10 \\ 5 & 7 \end{pmatrix}$ 根据无穷范数定义(行和最大值):$\| A \|_{\infty} = \max\{|7|+|10|, |5|+|7|\} = 17$。
- 求逆矩阵 $A^{-1}$ 及其范数: 利用 $2\times 2$ 矩阵求逆公式 $A^{-1} = \frac{1}{\det(A)} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix}$: $\det(A) = 7 \times 7 - 10 \times 5 = -1$$A^{-1} = \frac{1}{-1} \begin{pmatrix} 7 & -10 \\ -5 & 7 \end{pmatrix} = \begin{pmatrix} -7 & 10 \\ 5 & -7 \end{pmatrix}$$\| A^{-1} \|_{\infty} = \max\{|-7|+|10|, |5|+|-7|\} = 17$。
- 计算条件数: $\mathrm{cond}_{\infty}(A) = \| A \|_{\infty} \cdot \| A^{-1} \|_{\infty} = 17 \times 17 = 289$。
- 估计相对误差: 利用误差估计公式:$\frac{\|\delta x\|_\infty}{\|x\|_\infty} \leq \mathrm{cond}_\infty(A) \frac{\|\delta b\|_\infty}{\|b\|_\infty}$ 已知 $b = (1, 0.7)^T$,则 $\|b\|_\infty = \max\{1, 0.7\} = 1$。 扰动 $\delta b = (0.01, -0.01)^T$,则 $\|\delta b\|_\infty = \max\{0.01, |-0.01|\} = 0.01$。 代入公式:$\frac{\|\delta x\|_\infty}{\|x\|_\infty} \leq 289 \times \frac{0.01}{1} = 2.89$。
易错点
在计算 $\|b\|_\infty$ 时,必须取所有分量绝对值的最大值,不可漏看。同时注意条件数永远大于等于 1,若算得小于 1 则必有错误。
难度: ⭐⭐
考点:#矩阵条件数#误差估计💡 学习锦囊
- 无穷范数:$\|A\|_\infty = \max_{1 \le i \le n} \sum_{j=1}^n |a_{ij}|$。
- 条件数:$\mathrm{cond}(A) = \|A\| \cdot \|A^{-1}\|$,衡量矩阵对扰动的敏感程度。
- 相对误差估计:$\frac{\|\delta x\|}{\|x\|} \leq \mathrm{cond}(A) \frac{\|\delta b\|}{\|b\|}$。
🔄 举一反三
- 若矩阵 $A = \begin{pmatrix} 10 & 7 \\ 8 & 5 \end{pmatrix}$,求其条件数 $\mathrm{cond}_\infty(A)$。
查看练习答案与解析
答案:$\mathrm{cond}_\infty(A) = 17 \times 3 = 51$。 解析:$\|A\|_\infty = 17$,$A^{-1} = -\frac{1}{6} \begin{pmatrix} 5 & -7 \\ -8 & 10 \end{pmatrix}$,$\|A^{-1}\|_\infty = \frac{1}{6} \times \max\{12, 18\} = 3$。故 $17 \times 3 = 51$。
用 Gauss-Seidel 迭代法求解方程组 $\left\{ \begin{array}{l} 20x_{1} + 2x_{2} + 3x_{3} = 24 \\ x_{1} + 8x_{2} + x_{3} = 12 \\ 2x_{1} - 3x_{2} + 15x_{3} = 30 \end{array} \right.$ 取初值 $x^{(0)} = (0,0,0)^T$ ,迭代 2 步,写出 Gauss-Seidel 迭代格式,求 $x^{(1)}$ , $x^{(2)}$ ,并求 $\| x^{(1)} - x^{(2)}\|_{\infty}$。
查看答案与解析
答案:$x^{(1)} = (1.2, 1.35, 2.11)^T$$x^{(2)} = (0.7485, 1.1427, 2.1287)^T$ 误差 $\approx 0.4515$
思路分析
Gauss-Seidel 法的关键在于**“新值旧用”**。在计算当前未知量时,凡是本迭代步中已经计算出来的分量,都必须立即采用,这通常比 Jacobi 迭代法收敛更快。
详细推导:
- 建立迭代格式: 将方程组变形为显式格式: $\begin{cases} x_{1}^{(k+1)} = \frac{1}{20} (24 - 2x_{2}^{(k)} - 3x_{3}^{(k)}) \\ x_{2}^{(k+1)} = \frac{1}{8} (12 - x_{1}^{(k+1)} - x_{3}^{(k)}) \\ x_{3}^{(k+1)} = \frac{1}{15} (30 - 2x_{1}^{(k+1)} + 3x_{2}^{(k+1)}) \end{cases}$
- 第一步迭代 ($k=0$): $x_1^{(1)} = \frac{1}{20} (24 - 2(0) - 3(0)) = 1.2$$x_2^{(1)} = \frac{1}{8} (12 - 1.2 - 0) = 1.35$ (注意:这里使用了 $x_1^{(1)}$) $x_3^{(1)} = \frac{1}{15} (30 - 2(1.2) + 3(1.35)) = \frac{31.65}{15} = 2.11$$x^{(1)} = (1.2, 1.35, 2.11)^T$
- 第二步迭代 ($k=1$): $x_1^{(2)} = \frac{1}{20} (24 - 2(1.35) - 3(2.11)) = \frac{14.97}{20} = 0.7485$$x_2^{(2)} = \frac{1}{8} (12 - 0.7485 - 2.11) = \frac{9.1415}{8} \approx 1.1427$$x_3^{(2)} = \frac{1}{15} (30 - 2(0.7485) + 3(1.1427)) = \frac{31.9311}{15} \approx 2.1287$$x^{(2)} = (0.7485, 1.1427, 2.1287)^T$
- 计算误差: $\| x^{(1)} - x^{(2)} \|_{\infty} = \max\{|1.2 - 0.7485|, |1.35 - 1.1427|, |2.11 - 2.1287|\} = 0.4515$。
难度: ⭐⭐
考点:#Gauss-Seidel迭代法#线性方程组数值解💡 学习锦囊
- Gauss-Seidel 迭代公式:$x_i^{(k+1)} = \frac{1}{a_{ii}} (b_i - \sum_{j=1}^{i-1} a_{ij} x_j^{(k+1)} - \sum_{j=i+1}^n a_{ij} x_j^{(k)})$。
- 收敛性:若矩阵 $A$ 严格对角占优或对称正定,则 Gauss-Seidel 法收敛。
🔄 举一反三
- 使用相同的初值,对上述方程组进行一步 Jacobi 迭代。
查看练习答案与解析
答案:$x^{(1)}_{Jacobi} = (1.2, 1.5, 2.0)^T$。 解析:Jacobi 迭代中计算 $x_2, x_3$ 时仍使用 $x^{(0)}$ 的旧值。 $x_1 = 24/20 = 1.2$, $x_2 = 12/8 = 1.5$, $x_3 = 30/15 = 2.0$。
应用不动点迭代法求方程 $xe^{x} - 1 = 0$ 在 $x\in [0, 1]$ 的一个根,取 $x_0 = 0.5$。
查看答案与解析
答案:$x \approx 0.5671$
思路分析
不动点迭代的核心是将 $f(x)=0$ 转化为 $x=\varphi(x)$。选择 $\varphi(x)$ 时,必须确保其在根邻域内的导数绝对值小于 1(即满足压缩映射原理),否则迭代会发散。
详细推导:
- 构造迭代函数: 方程 $xe^x - 1 = 0$ 可以变形为 $x = e^{-x}$。令 $\varphi(x) = e^{-x}$。 在 $[0, 1]$ 上,$\varphi'(x) = -e^{-x}$,且当 $x > 0$ 时 $|\varphi'(x)| = e^{-x} < 1$。在根 $x^* \approx 0.567$ 处,$|\varphi'(x^*)| = e^{-0.567} \approx 0.567 < 1$,满足局部收敛条件,迭代过程在根附近收敛。
- 迭代计算: $x_{n+1} = e^{-x_n}$,已知 $x_0 = 0.5$:
- $x_1 = e^{-0.5} \approx 0.6065$
- $x_2 = e^{-0.6065} \approx 0.5452$
- $x_3 = e^{-0.5452} \approx 0.5797$
- $x_4 = e^{-0.5797} \approx 0.5602$
- $x_5 = e^{-0.5602} \approx 0.5711$
- $x_6 = e^{-0.5711} \approx 0.5649$
- $x_7 = e^{-0.5649} \approx 0.5684$
- $x_8 = e^{-0.5684} \approx 0.5664$
- $x_9 = e^{-0.5664} \approx 0.5675$
- $x_{10} = e^{-0.5675} \approx 0.5669$
- $x_{11} = e^{-0.5669} \approx 0.5672$
- $x_{12} = e^{-0.5672} \approx 0.5671$
- 结论: 迭代值趋于稳定,保留四位小数得 $x \approx 0.5671$。
难度: ⭐⭐
考点:#不动点迭代#非线性方程求根💡 学习锦囊
- 不动点定义:若 $x^* = \varphi(x^*)$,则 $x^*$ 是 $\varphi(x)$ 的不动点。
- 局部收敛性:若 $|\varphi'(x^*)| < 1$,则在该不动点邻域内迭代收敛。
🔄 举一反三
- 使用牛顿迭代法求方程 $x^2 - 2 = 0$ 的正根(取 $x_0 = 1.5$)。
查看练习答案与解析
答案:$x_1 \approx 1.4167$。 解析:牛顿公式 $x_{n+1} = x_n - \frac{x_n^2-2}{2x_n} = \frac{1}{2}(x_n + \frac{2}{x_n})$。 $x_1 = \frac{1}{2}(1.5 + 2/1.5) = 1.4167$。
给定数表如下:
$x$ 0 -1 1 $f(x)$ 1 2 3 (1)用牛顿插值法写出二次插值多项式 $N_{2}(x)$ ,并求 $N_{2}(1.5)$; (2)若增加一对数据 $(2, 0)$,求 $N_{3}(x)$。
查看答案与解析
答案: (1) $N_2(x) = \frac{3}{2}x^2 + \frac{1}{2}x + 1$,$N_2(1.5) = 5.125$ (2) $N_3(x) = -\frac{4}{3}x^3 + \frac{3}{2}x^2 + \frac{11}{6}x + 1$
思路分析
牛顿插值的核心优势是其**“承袭性”**。增加新节点时,无需像 Lagrange 插值那样重写整个多项式,只需在原有多项式基础上增加一项高阶差商项即可。
详细推导:
- 列出差商表:
$x_i$ $f(x_i)$ 一阶差商 二阶差商 三阶差商 0 1 -1 2 -1 1 3 1/2 3/2 2 0 -3 -7/6 -4/3 - 写出二次多项式 $N_2(x)$: 使用差商表第一行斜线上的值: $N_2(x) = f(x_0) + f[x_0, x_1](x - x_0) + f[x_0, x_1, x_2](x - x_0)(x - x_1)$$N_2(x) = 1 - x + \frac{3}{2}x(x + 1) = \frac{3}{2}x^2 + \frac{1}{2}x + 1$
- 计算 $N_2(1.5)$: $N_2(1.5) = \frac{3}{2}(2.25) + 0.5(1.5) + 1 = 3.375 + 0.75 + 1 = 5.125$
- 写出三次多项式 $N_3(x)$: 利用承袭性:$N_3(x) = N_2(x) + f[x_0, x_1, x_2, x_3]x(x+1)(x-1)$$N_3(x) = (\frac{3}{2}x^2 + \frac{1}{2}x + 1) - \frac{4}{3}x(x^2 - 1) = -\frac{4}{3}x^3 + \frac{3}{2}x^2 + \frac{11}{6}x + 1$
难度: ⭐⭐
考点:#牛顿插值#差商💡 学习锦囊
- 差商定义:$f[x_0, x_1] = \frac{f(x_1)-f(x_0)}{x_1-x_0}$。
- 牛顿公式:具有逐阶逼近的特性。
🔄 举一反三
- 若节点顺序改为 $1, -1, 0$,插值多项式会改变吗?
查看练习答案与解析
答案:不会。 解析:插值多项式的唯一性定理保证了只要节点集相同,最终得到的多项式在代数上是等价的,只是表达形式可能不同。
- 列出差商表:
应用复合梯形公式( $n = 2$ )求积分 $\int_{0}^{1} \frac{x}{4 + x^2} \mathrm{d}x$ 。
查看答案与解析
答案:$I \approx 0.1088$
思路分析
复合公式的思想是“化整为零”。先将积分区间等分,在每个小区间上应用梯形公式,最后汇总。这不仅提高了精度,还方便计算机实现。
详细推导:
- 参数设定:$a=0, b=1, n=2 \implies h = 0.5$。节点 $0, 0.5, 1$。
- 计算函数值: $f(0) = 0$$f(0.5) = 2/17 \approx 0.1176$$f(1) = 0.2$
- 代入公式: $T_2 = \frac{0.5}{2} [f(0) + 2f(0.5) + f(1)] = 0.25 \times (0 + 4/17 + 0.2) = 0.25 \times 0.4353 \approx 0.1088$
难度: ⭐
考点:#复合梯形公式#数值积分💡 学习锦囊
- 复合梯形公式:$T_n = \frac{h}{2} [f(a) + 2\sum_{i=1}^{n-1} f(x_i) + f(b)]$。
- 余项:与步长 $h$ 的平方成正比。
🔄 举一反三
- 应用复合 Simpson 公式 ($n=2$) 计算上述积分。
查看练习答案与解析
答案:$S_2 \approx 0.1118$。 解析:$S_2 = \frac{h}{3}[f(0) + 4f(0.5) + f(1)]$(此处 $h=0.5$)。 $S_2 = \frac{0.5}{3}[0 + 8/17 + 0.2] = \frac{1}{6} \times 0.6706 \approx 0.1118$。
应用改进 Euler 方法求解初值问题 $\left\{ \begin{array}{ll}y^{\prime} = x^{2} + x - y\\ y(0) = 0 \end{array} \right.$ , $0\leq x\leq 1$。 取步长 $h = 0.1$ ,计算 $y(0.5)$ 的近似值。
查看答案与解析
答案:$y(0.5) \approx 0.144992$
思路分析
改进 Euler 方法是一种预估-校正方法。它先用显式 Euler 法预估下一个点的值,再用梯形公式(隐式)进行校正。这种方法兼具显式算法的简便和隐式算法的高精度。
详细推导:
- 迭代公式: $y_{n+1} = y_n + \frac{h}{2} [f(x_n, y_n) + f(x_{n+1}, y_n + h f(x_n, y_n))]$ 其中 $f(x, y) = x^2 + x - y$,$h = 0.1$。
- 逐步计算:
- $n=0$($x_0=0, y_0=0$): $f(x_0, y_0) = 0^2 + 0 - 0 = 0$$\bar{y}_1 = y_0 + h f(x_0, y_0) = 0$$f(x_1, \bar{y}_1) = 0.1^2 + 0.1 - 0 = 0.11$$y_1 = 0 + \frac{0.1}{2}[0 + 0.11] = 0.0055$
- $n=1$($x_1=0.1, y_1=0.0055$): $f(x_1, y_1) = 0.01 + 0.1 - 0.0055 = 0.1045$$\bar{y}_2 = 0.0055 + 0.1 \times 0.1045 = 0.01595$$f(x_2, \bar{y}_2) = 0.04 + 0.2 - 0.01595 = 0.22405$$y_2 = 0.0055 + 0.05[0.1045 + 0.22405] = 0.021928$
- $n=2$($x_2=0.2, y_2=0.021928$): $f(x_2, y_2) = 0.04 + 0.2 - 0.021928 = 0.218072$$\bar{y}_3 = 0.021928 + 0.1 \times 0.218072 = 0.043735$$f(x_3, \bar{y}_3) = 0.09 + 0.3 - 0.043735 = 0.346265$$y_3 = 0.021928 + 0.05[0.218072 + 0.346265] = 0.050145$
- $n=3$($x_3=0.3, y_3=0.050145$): $f(x_3, y_3) = 0.09 + 0.3 - 0.050145 = 0.339855$$\bar{y}_4 = 0.050145 + 0.1 \times 0.339855 = 0.084131$$f(x_4, \bar{y}_4) = 0.16 + 0.4 - 0.084131 = 0.475869$$y_4 = 0.050145 + 0.05[0.339855 + 0.475869] = 0.090931$
- $n=4$($x_4=0.4, y_4=0.090931$): $f(x_4, y_4) = 0.16 + 0.4 - 0.090931 = 0.469069$$\bar{y}_5 = 0.090931 + 0.1 \times 0.469069 = 0.137838$$f(x_5, \bar{y}_5) = 0.25 + 0.5 - 0.137838 = 0.612162$$y_5 = 0.090931 + 0.05[0.469069 + 0.612162] = 0.144992$
- 结论:$y(0.5) \approx y_5 = 0.144992$。
难度: ⭐⭐⭐
考点:#改进Euler方法#常微分方程数值解💡 学习锦囊
📖 核心公式:
- 改进 Euler 公式:$y_{n+1} = y_n + \frac{h}{2}[f(x_n, y_n) + f(x_{n+1}, y_n + hf(x_n, y_n))]$
- 预估步(显式 Euler):$\bar{y}_{n+1} = y_n + hf(x_n, y_n)$
- 校正步(梯形公式):$y_{n+1} = y_n + \frac{h}{2}[f(x_n, y_n) + f(x_{n+1}, \bar{y}_{n+1})]$
- 改进 Euler 法为二阶方法,全局误差 $O(h^2)$,比显式 Euler 法(一阶)精度更高。
🔄 举一反三
- 改进 Euler 方法的局部截断误差阶数是多少?
查看练习答案与解析
答案:$O(h^3)$。 解析:改进 Euler 法是二阶方法,其全局误差为 $O(h^2)$,局部截断误差为 $O(h^3)$。
应用 Euler 方法计算积分 $\int_0^x e^{t^2}\mathrm{d}t$ 在点 $x = 0.5, 1, 1.5, 2$ 的近似值。
查看答案与解析
答案:$y(0.5) \approx 0.5, y(1) \approx 1.1420, y(1.5) \approx 2.5011, y(2) \approx 7.2450$
思路分析
本题巧妙地利用了变限积分与微分方程的关系。将积分转化为初值问题 $y'=f(x), y(a)=0$,使得我们能够用解 ODE 的方法来处理定积分问题。
详细推导:
- 转化:设 $y(x) = \int_0^x e^{t^2} \mathrm{d}t \implies y' = e^{x^2}, y(0)=0$。
- 迭代 ($h=0.5$):
- $y_1 = y_0 + 0.5 e^0 = 0.5$
- $y_2 = 0.5 + 0.5 e^{0.25} \approx 1.1420$
- $y_3 = 1.1420 + 0.5 e^1 \approx 2.5011$
- $y_4 = 2.5011 + 0.5 e^{2.25} \approx 7.2450$
难度: ⭐⭐ 考点:
#Euler方法#变限积分💡 学习锦囊
📖 核心技巧: 变限积分 $\int_a^x f(t)dt$ 可转化为初值问题 $y' = f(x), y(a) = 0$,从而利用 ODE 数值方法求解。
- Euler 公式:$y_{n+1} = y_n + hf(x_n, y_n)$,一阶精度,全局误差 $O(h)$。
- 步长 $h$ 越小精度越高,但计算量增大;实际中常与高阶方法(如 Runge-Kutta)配合使用。
🔄 举一反三
- 若使用梯形积分公式计算 $\int_0^{0.5} e^{t^2} \mathrm{d}t$,结果与 Euler 法一致吗?
查看练习答案与解析
答案:不一致。 解析:梯形公式结果为 $\frac{0.5}{2}(e^0 + e^{0.25}) \approx 0.5710$,而 Euler 法结果为 $0.5$。梯形法通常更精确。